在測試程式的時候常常會需要輸入IP位址才能連上Arduino,為了減少不必要的麻煩,又不想花錢買網域名稱所以不能使用DNS,因此改為使用mDNS。
mDNS(Multicast DNS)可以讓區域網路內的裝置輸入自訂的網域名稱就能找到IP位址。
mDNS需要用到Apple的Bonjour服務,所以如果使用的裝置沒有提供這些服務就無法利用mDNS找到IP位址,或者如果無限分享器有使用flexconnect服務的話,也會無法使用mDNS。
#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
void setup(){
Serial.begin(9600);
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
if (!MDNS.begin("esp8266")) { //在網址輸入http://esp8266.local 就可以連上網站
Serial.println("MDNS error");
}else{
Serial.println("MDNS started");
MDNS.addService("http", "tcp", 80);//如果想用udp傳輸的話可以把第二個參數改為udp
}
}
void loop(){
MDNS.update();
}